The invention falls into that area of the art most commonly known as numerical control (N/C). The general category N/C encompasses three areas of art most frequently referred to as N/C machine tool controls, N/C plotters, and N/C displays. Numerical control equipment is used in the machine tool industry to fabricate two or three dimensional parts having arbitrary configurations. This is accomplished by driving servos or pulse motors along mutually perpendicular axes in a synchronized fashion so that any arbitrary curve or straight line can be cut irrespective of the line orientation with respect to the axes. Three dimensional parts can be made by driving three motors along three mutually perpendicular axes. Also, the rotation of the part can be controlled and defined as the fourth controlled axes. Thus four, and if required by the dictates of the N/C system, more than four axes of motion can be synchronously controlled.
Graphic plotting N/C equipment is ordinarily used to automatically draw designs of arbitrary configuration on paper or other media. Typically, graphics equipment is two-dimensional so that a pen or scrib is driven along a path which is predefined with respect to X and Y axes. Also, in some instances, a third axis is defined so that graphic representations can be made on non-planar surfaces. The third axis in some instances is used to raise and lower the pen. Both machine tool and graphic equipment operates by applying pulses to the coils of either pulse motors or analog servo motors after converting the digital signals to analog voltages. Numerical control display equipment ordinarily employs a cathode ray tube (CRT) in which the electron beam is deflected to create designs having arbitrary configurations on the face of the CRT. Accordingly, CRT equipment is very similar to graphics equipment; however, the digital signals from the system logic which are converted into analog voltages are applied to the deflection coils of the CRT. Frequently CRT equipment is used to verify the accuracy of part programs for machine tool or graphics equipment so that errors in the part program are detected in advance of fabricating a part to allow corrections and thus avoid the damage or destruction to the machine tool equipment or an expensive part that could occur in an effort to fabricate a part with an erroneous program.
Because N/C equipment is required to move the controlled element along straight lines which lie at arbitrary angles with respect to the coordinate axes, it is necessary for the motions along the controlled axes to be synchronized so that the controlled element accurately moves along the desired path. As an example, if the path to be followed is a straight line lying at an angle such that the X distance is twice the Y distance, the controlled element velocity along the X axis most be twice the velocity along the Y axis. Curved lines can be simulated by a series of short straight line segments and the inertia of the system will cause the part to move along a very close approximation of the curve. Alternatively, curves can be drawn by fragmenting the desired curve into a series of arcs, the arcs being portions of different circles having differently located centers and different radii. Irrespective of which of these techniques is utilized it is essential that the data supplied to the individual axes be interpolated so that the motion and velocity relationships required to follow the desired line or curve are input to the controlled element.
Typically in N/C systems the controlled element path is coded onto a storage medium, such as a tape, in segment, or block form so that each segment represents a small fraction of the total path to be traveled. Each segment of the stored information is individually input to the system and the required processing effected. The processed data are then stored in registers and are available for call up from the registers for interpolation and control of the servos which ultimately move the driven element. Accordingly, while the processed data are stored and being executed the system input circuitry and processing logic can receive the next segment of data from the storage medium and process with the data processing. In this manner the subsequent segment of data is available for execution as soon as the prior segment is completely executed and the N/C system is capable of continuous operation. Because these operations require a finite time and because the computation capabilities are limited within the system, the minimization of the real time execution of the various real time system functions would result in a substantial increase of overall system capabilities. This advantage has been recognized by the industry and various efforts to decrease the real time requirements of N/C systems have been tried. One such effort includes utilizing both linear and circular or parabolic interpolation in a given N/C system. Thus, if the required path can be effected utilizing either linear or circular interpolation the interpolation technique requiring the least data processing is utilized for each particular path segment. Such systems enjoyed some success in decreasing the real time requirements of the system. However, the success was limited because they overlook the advantages which can be obtained by optimizing the actual data interpolation and system updating in accordance with the inherent limitations and capabilities of the system.